﻿using Lamex.Base;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;

namespace Lamex.SystemManager.Model
{
    [DataContract]
    [KnownType("GetKnowTypes")]
    [Serializable]
    [Table(TableName = "Sys_Role", KeyName = "ID", OutoKeyValue = "ID", sortIndex = "SortCode")]
   public class RoleInfo
    {
        #region Field Members
        private int _ID = 0; //          
        private int _PID = -1; //父ID          
        private string _JobCode; //角色编码          
        private string _JobName; //角色名称          
        private string _Remark; //备注          
        private string _SortCode; //排序码          
        private string _Category; //角色分类          
        private string _CompanyID; //所属公司ID          
        private string _CompanyName; //所属公司名称          
        private string _CreateBy; //创建人          
        private string _CreateID; //创建人ID          
        private DateTime _CreateDate = System.DateTime.Now; //创建时间          
        private string _UpdateBy; //编辑人          
        private string _UpdateID; //编辑人ID          
        private DateTime _UpDateTime = System.DateTime.Now; //编辑时间          
        private bool _Deleted = false; //是否已删除          
        private bool _Enabled = true; //有效标志          

        #endregion

        #region Property Members

        [DataMember]
        public virtual int ID
        {
            get
            {
                return this._ID;
            }
            set
            {
                this._ID = value;
            }
        }

        /// <summary>
        /// 父ID
        /// </summary>
        [DataMember]
        public virtual int PID
        {
            get
            {
                return this._PID;
            }
            set
            {
                this._PID = value;
            }
        }

        /// <summary>
        /// 角色编码
        /// </summary>
        [DataMember]
        public virtual string JobCode
        {
            get
            {
                return this._JobCode;
            }
            set
            {
                this._JobCode = value;
            }
        }

        /// <summary>
        /// 角色名称
        /// </summary>
        [DataMember]
        public virtual string JobName
        {
            get
            {
                return this._JobName;
            }
            set
            {
                this._JobName = value;
            }
        }

        /// <summary>
        /// 备注
        /// </summary>
        [DataMember]
        public virtual string Remark
        {
            get
            {
                return this._Remark;
            }
            set
            {
                this._Remark = value;
            }
        }

        /// <summary>
        /// 排序码
        /// </summary>
        [DataMember]
        public virtual string SortCode
        {
            get
            {
                return this._SortCode;
            }
            set
            {
                this._SortCode = value;
            }
        }

        /// <summary>
        /// 角色分类
        /// </summary>
        [DataMember]
        public virtual string Category
        {
            get
            {
                return this._Category;
            }
            set
            {
                this._Category = value;
            }
        }

        /// <summary>
        /// 所属公司ID
        /// </summary>
        [DataMember]
        public virtual string CompanyID
        {
            get
            {
                return this._CompanyID;
            }
            set
            {
                this._CompanyID = value;
            }
        }

        /// <summary>
        /// 所属公司名称
        /// </summary>
        [DataMember]
        public virtual string CompanyName
        {
            get
            {
                return this._CompanyName;
            }
            set
            {
                this._CompanyName = value;
            }
        }

        /// <summary>
        /// 创建人
        /// </summary>
        [DataMember]
        public virtual string CreateBy
        {
            get
            {
                return this._CreateBy;
            }
            set
            {
                this._CreateBy = value;
            }
        }

        /// <summary>
        /// 创建人ID
        /// </summary>
        [DataMember]
        public virtual string CreateID
        {
            get
            {
                return this._CreateID;
            }
            set
            {
                this._CreateID = value;
            }
        }

        /// <summary>
        /// 创建时间
        /// </summary>
        [DataMember]
        public virtual DateTime CreateDate
        {
            get
            {
                return this._CreateDate;
            }
            set
            {
                this._CreateDate = value;
            }
        }

        /// <summary>
        /// 编辑人
        /// </summary>
        [DataMember]
        public virtual string UpdateBy
        {
            get
            {
                return this._UpdateBy;
            }
            set
            {
                this._UpdateBy = value;
            }
        }

        /// <summary>
        /// 编辑人ID
        /// </summary>
        [DataMember]
        public virtual string UpdateID
        {
            get
            {
                return this._UpdateID;
            }
            set
            {
                this._UpdateID = value;
            }
        }

        /// <summary>
        /// 编辑时间
        /// </summary>
        [DataMember]
        public virtual DateTime UpDateTime
        {
            get
            {
                return this._UpDateTime;
            }
            set
            {
                this._UpDateTime = value;
            }
        }

        /// <summary>
        /// 是否已删除
        /// </summary>
        [DataMember]
        public virtual bool Deleted
        {
            get
            {
                return this._Deleted;
            }
            set
            {
                this._Deleted = value;
            }
        }

        /// <summary>
        /// 有效标志
        /// </summary>
        [DataMember]
        public virtual bool Enabled
        {
            get
            {
                return this._Enabled;
            }
            set
            {
                this._Enabled = value;
            }
        }


        #endregion
    }
}
